package training;

import java.util.Arrays;
import java.util.Scanner;

public class Training02 {
    public static void main(String[] args) {
//        编写一个程序，实现公牛母牛的猜数字游戏。
//        游戏规则：
//        1. 系统随机产生四位不重复的数字
//        2. 玩家输入四位不重复数字
//        3. 系统产生的数字和玩家输入的数字进行比较，给出比较的结果。
//        4. 给出的结果以A和B表示，其中A表示数值和位置都正确，B表示只有数值正确，位置不正确。
//        比如：系统产生的数字是0154，玩家输入的数字是0534，给出的结果为2A1B。
//        5. 当给出结果为4A0B，则表示完全正确。

        int [] sysNumbers = new int[4];
        for(int i = 0;i < 4;i++){
            int rand = (int)(Math.random() * 10);
            boolean flag = false;
            for(int j = 0;j < i;j++){
                if(rand == sysNumbers[j]){
                    i--;
                    flag = true;
                    break;
                }
            }
            if(!flag){
                sysNumbers[i] = rand;
            }
        }
        System.out.println(Arrays.toString(sysNumbers));
        Scanner sc = new Scanner(System.in);
        int [] inputNumbers = new int[4];
        for(int i = 0;i < 4;i++){
            System.out.println("请输入第"+(i + 1)+"位数字：");
            int inputNumber = sc.nextInt();
            boolean flag = false;
            for(int j = 0;j < i;j++){
                if(inputNumber == inputNumbers[j]){
                    i--;
                    flag = true;
                    break;
                }
            }
            if(!flag){
                inputNumbers[i] = inputNumber;
            }
        }

        int a = 0;
        int b = 0;
        for(int i = 0;i < inputNumbers.length;i++){
            for(int j = 0;j < sysNumbers.length;j++){
                if(inputNumbers[i] == sysNumbers[j]){
                    if(i == j){
                        a++;
                    }else{
                        b++;
                    }
                }
            }
        }
        System.out.println(a+"A"+b+"B");

    }
}
